package exercise;

import java.io.File;
import java.io.FileFilter;

public class Demo07_FileFilter递归获取指定文件 {
    public static void main(String[] args) {
        File file = new File("D:\\latter\\Test02");
        searchFile(file);
    }

    public static void searchFile(File file) {
        // 只要这个目录的子目录和java文件
        File[] files = file.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().endsWith(".java") || pathname.isDirectory();
            }
        });

        // 遍历这一级目录
        for (File tempFile : files) {

            // 如果是文件夹,再次递归搜索
            if (tempFile.isDirectory()) {
                searchFile(tempFile);
            } else {

                // 如果是普通文件,则打印
                System.out.println(tempFile.getName());
            }
        }
    }
}
